#ifndef _PRIMITIVECYLINDER_
#define _PRIMITIVECYLINDER_

#include "Primitive.h"
#include "GeomCylinder.h"

class PrimitiveCylinder: public Primitive{
protected:
	GeomCylinder *mGeomPtr;
public:
	// defualt oriented in Y direction: see GeomCylinder
	PrimitiveCylinder( double Mass ): Primitive( Mass ){
		mGeom = new GeomCylinder(mDim[0]/2, mDim[1]);
		mGeom->translate(mOffset);
		mGeom->setPhysObject(this);
		mGeomPtr = static_cast<GeomCylinder*>(mGeom);
	}
	PrimitiveCylinder(Vec3d _offset, Vec3d _dim, double Mass) : Primitive(_offset, _dim, Mass){
		mGeom = new GeomCylinder(mDim[0]/2, mDim[1]);
		mGeom->translate(mOffset);
		mGeom->setPhysObject(this);
		mGeomPtr = static_cast<GeomCylinder*>(mGeom);
	}
	~PrimitiveCylinder(){};
	
	Mat4d* getMassTensor();
};

#endif
